package org.hamcrest;
public class CustomTypeSafeMatcherTest extends AbstractMatcherTest {
private static final String STATIC_DESCRIPTION = "I match non empty strings";
private Matcher<String> customMatcher;
@Override
protected void setUp() throws Exception {
customMatcher = new CustomTypeSafeMatcher<String>(STATIC_DESCRIPTION) {
@Override
public boolean matchesSafely(String item) {
return false;
}
@Override
public void describeMismatchSafely(String item, Description mismatchDescription) {
mismatchDescription.appendText("an " + item);
}
};
}
public void testUsesStaticDescription() throws Exception {
assertDescription(STATIC_DESCRIPTION, customMatcher);
}
public void testReportsMismatch() {
assertMismatchDescription("an item", customMatcher, "item");
}
@Override
protected Matcher<?> createMatcher() {
return customMatcher;
}
}